import request from '@/config/axios'

// ERP仓库管理-物料退货单主表 VO
export interface StockMaterialReturnVO {
  id: string // id
  returnNo: string // 退货单号
  supplierId: string // 供应商id
  supplierName: string // 供应商名称
  warehouseId: string // 仓库id
  warehouseName: string // 仓库名称
  date: Date // 日期
  createVoucher: boolean // 创建凭证
  type: string // 类型
  invoiceNo: string // 发票单号
  remark: string // 备注
  totalAmount: number // 总金额
  discount: number // 折扣
  discountAmount: number // 折扣后金额
  taxRate: number // 税率
  taxAmount: number // 税额
  paidAmount: number // 已付金额
  audit: boolean // 审核
  auditor: string // 审核人
  auditTime: Date // 审核时间
}

// ERP仓库管理-物料退货单主表 API
export const StockMaterialReturnApi = {
  // 查询ERP仓库管理-物料退货单主表分页
  getStockMaterialReturnPage: async (params: any) => {
    return await request.get({ url: `/erp/stock-material-return/page`, params })
  },

  // 查询ERP仓库管理-物料退货单主表详情
  getStockMaterialReturn: async (id: number) => {
    return await request.get({ url: `/erp/stock-material-return/get?id=` + id })
  },

  // 新增ERP仓库管理-物料退货单主表
  createStockMaterialReturn: async (data: StockMaterialReturnVO) => {
    return await request.post({ url: `/erp/stock-material-return/create`, data })
  },

  // 修改ERP仓库管理-物料退货单主表
  updateStockMaterialReturn: async (data: StockMaterialReturnVO) => {
    return await request.put({ url: `/erp/stock-material-return/update`, data })
  },

  // 删除ERP仓库管理-物料退货单主表
  deleteStockMaterialReturn: async (id: number) => {
    return await request.delete({ url: `/erp/stock-material-return/delete?id=` + id })
  },

  // 导出ERP仓库管理-物料退货单主表 Excel
  exportStockMaterialReturn: async (params) => {
    return await request.download({ url: `/erp/stock-material-return/export-excel`, params })
  },

// ==================== 子表（ERP仓库管理-物料退货单子） ====================

  // 获得ERP仓库管理-物料退货单子分页
  getStockMaterialReturnDetailPage: async (params) => {
    return await request.get({ url: `/erp/stock-material-return/stock-material-return-detail/page`, params })
  },
  // 新增ERP仓库管理-物料退货单子
  createStockMaterialReturnDetail: async (data) => {
    return await request.post({ url: `/erp/stock-material-return/stock-material-return-detail/create`, data })
  },

  // 修改ERP仓库管理-物料退货单子
  updateStockMaterialReturnDetail: async (data) => {
    return await request.put({ url: `/erp/stock-material-return/stock-material-return-detail/update`, data })
  },

  // 删除ERP仓库管理-物料退货单子
  deleteStockMaterialReturnDetail: async (id: number) => {
    return await request.delete({ url: `/erp/stock-material-return/stock-material-return-detail/delete?id=` + id })
  },

  // 获得ERP仓库管理-物料退货单子
  getStockMaterialReturnDetail: async (id: number) => {
    return await request.get({ url: `/erp/stock-material-return/stock-material-return-detail/get?id=` + id })
  }
}